package com.zhoug.android.common.utils;

/**
 * 颜色工具
 */
public class ColorUtils {
    private static final String TAG = "ColorUtils";
    public static final int UN_USED_COLOR= 0;//无效颜色
    /**
     *判断颜色是否属于亮色调
     * @param color
     * @return
     */
    public static boolean isLightColor(int color) {
        return androidx.core.graphics.ColorUtils.calculateLuminance(color) >= 0.5;
    }

    /**
     * 获取2个颜色的混合颜色
     * @param color1 颜色1
     * @param color2 颜色2
     * @param ratio 颜色2占比 0-1
     * @return
     */
    public static  int blendARGB(int color1,int color2,float ratio){
        if(ratio<0){
            ratio=0;
        }
        if(ratio>1){
            ratio=1;
        }
       return androidx.core.graphics.ColorUtils.blendARGB(color1,color2,ratio);
    }

    /**
     * 转化为16进制颜色
     * @param color
     * @return
     */
    public static String toHexString(int color){
        return  Integer.toHexString(color);
    }

    /**
     * 给color添加透明度
     *
     * @param alphaPercent     透明度 0f～1f,占原来透明度的百分比
     * @param baseColor 基本颜色
     * @return
     */
    public static int getColorWithAlpha(float alphaPercent, int baseColor) {
        int oldAlpha = 0xff000000 & baseColor;
        int rgb = 0x00ffffff & baseColor;
        if(oldAlpha==0){
            oldAlpha=0xff;
        }
        int a = Math.min(255, Math.max(0, (int) (alphaPercent * oldAlpha))) << 24;
        int color = a + rgb;
        LogUtils.d(TAG, "getColorWithAlpha:"+toHexString(color));
        return color;
    }

}
